//index.js
//获取应用实例
const app = getApp()

Page({
  data: {
    scale: 18, // 缩放级别，默认18，数值在0~18之间
    longitude: 0, // 经度
    latitude: 0, // 纬度
    controls:[], // 地图控件组
    markers: [
      // {
      //   "id": 0,
      //   "title": "去这里",
      //   "iconPath": "/images/markers.png",
      //   // "latitude": 28.22888,
      //   // "longitude": 112.93686,
      //   "width": 45,
      //   "height": 50
      // },
      // {
      //   "id": 1,
      //   "title": "去这里",
      //   "iconPath": "/images/markers.png",
      //   // "latitude": 28.22588,
      //   // "longitude": 112.93986,
      //   "width": 45,
      //   "height": 50
      // },
      // {
      //   "id": 2,
      //   "title": "去这里",
      //   "iconPath": "/images/markers.png",
      //   // "latitude": 28.22588,
      //   // "longitude": 112.93686,
      //   "width": 45,
      //   "height": 50
      // },
      // {
      //   "id": 3,
      //   "title": "去这里",
      //   "iconPath": "/images/markers.png",
      //   // "latitude": 28.22988,
      //   // "longitude": 112.93886,
      //   "width": 45,
      //   "height": 50
      // },
      // {
      //   "id": 4,
      //   "title": "去这里",
      //   "iconPath": "/images/markers.png",
      //   // "latitude": 28.22788,
      //   // "longitude": 112.93786,
      //   "width": 45,
      //   "height": 50
      // },
      // {
      //   "id": 5,
      //   "title": "去这里",
      //   "iconPath": "/images/markers.png",
      //   // "latitude": 28.22388,
      //   // "longitude": 112.93886,
      //   "width": 45,
      //   "height": 50
      // },
      // {
      //   "id": 6,
      //   "title": "去这里",
      //   "iconPath": "/images/markers.png",
      //   // "latitude": 28.22588,
      //   // "longitude": 112.93486,
      //   "width": 45,
      //   "height": 50
      // },
      // {
      //   "id": 7,
      //   "title": "去这里",
      //   "iconPath": "/images/markers.png",
      //   // "latitude": 28.22588,
      //   // "longitude": 112.93986,
      //   "width": 45,
      //   "height": 50
      // }
    ], // 地图标记组
  },
  //事件处理函数
  bindViewTap: function() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onReady:function(){

  },
  onLoad: function (options) {
    this.timer = options.timer;
    wx.getLocation({
      type:"gcj02",
      success:(res) => {
        this.setData({
          longitude:res.longitude,
          latitude:res.latitude
        })
        console.log(this.data.longitude)
        console.log(this.data.latitude)
        this.getMarkersPosition(this.data.longitude,this.data.latitude);
        console.log(this.data.markers)
      } 
    }),
    wx.getSystemInfo({
      success:(res) => {
        console.log(res);
        this.setData({
          controls:[
            {
              id: 1, // 给控件定义唯一id
              iconPath: '/images/location.png', // 控件图标
              position: { // 控件位置
                left: 20, // 单位px
                top: res.windowHeight - 80, // 根据设备高度设置top值，可以做到在不同设备上效果一致
                width: 50, // 控件宽度/px
                height: 50 // 控件高度/px
              },
              clickable: true // 是否可点击，默认为true,可点击
            },
            {
              id: 2,
              iconPath: '/images/use.png',
              position: {
                left: res.windowWidth/2 - (options.useLeft ? options.useLeft : 45),
                top: res.windowHeight - 100,
                width: 90,
                height: 90
              },
              clickable: true
            },
            {
              id: 3,
              iconPath: '/images/warn.png',
              position: {
                left: res.windowWidth - 70,
                top: res.windowHeight - 80,
                width: 50,
                height: 50
              },
              clickable: true
            },
            {
              id: 4,
              iconPath: '/images/marker.png',
              position: {
                left: res.windowWidth/2 - 14,
                top: res.windowHeight/2 - 44,
                width: 28,
                height: 45
              },
              clickable: false
            },
            {
              id: 5,
              iconPath: '/images/avatar.png',
              position: {
                left: res.windowWidth - 68,
                top: res.windowHeight - 155,
                width: 45,
                height: 45
              },
              clickable: true
            }
          ]
        })
      }
    })
  },
  onShow:function(){
    this.mapCtx = wx.createMapContext('ofoMap'); // 地图组件的id
    this.moveToCenter();
    console.log(getCurrentPages())
  },
  moveToCenter:function(){
    this.mapCtx.moveToLocation();
  },
    /**
     * 为控件绑定点击事件
     */
  bindcontroltap:function(e){
    switch(e.controlId){
      case 1 : this.moveToCenter();
        break;
      case 2 : if(this.timer === "" || this.timer === undefined){
        wx.scanCode({
          success : (res) => {
            wx.showLoading({
              title:"正在获取密码",
              mask:true
            })
            wx.request({
              url:"https://www.easy-mock.com/mock/59098d007a878d73716e966f/ofodata/password",
              data:{},
              method:'GET',
              success : (res) => {
                wx.hideLoading();
                wx.redirectTo({
                  url:'../scanresult/index?password=' + res.data.data.password + '&number=' + res.data.data.number,
                  success : (res) => {
                    wx.showToast({
                      title:"获取密码成功",
                      duration:1500
                    })
                  }
                })
              }
            })
          }
        })
      }else{
        wx.navigateBack({
          delta: 1
        })
      }
      break;
      case 3 : wx.navigateTo({
        url: '../warn/index'
      });
      break;
      case 5: wx.navigateTo({
        url: '../my/index'
      });
      break; 
      default: break;
    }
  },

  /**
   * 获取markers
   */
  getMarkersPosition:function (lo,la) {
    var markers = [];
    var num = Math.floor(Math.random()*21)+10;
    console.log(num)
    for (let i = 0; i < num; i++) {
      let item = {};
      item.id = i;
      item.title = "去这里";
      item.iconPath = "/images/markers.png";
      item.height = "50";
      item.width = "45";
      item.longitude = parseFloat(lo) + Math.random() * (Math.random() > 0.5 ? 0.0008 : -0.0008)
      item.latitude = parseFloat(la) + Math.random() * (Math.random() > 0.5 ? 0.0008 : -0.0008)
      markers.push(item)
    }
    this.setData({
      markers : markers
    })
  },
  bindmarkertap:function (e) {
    let _markers = this.data.markers;
    let markerId = e.markerId; // 获取被点击的marker的id
    let currentMarker = _markers[markerId]; // 获取被点击的marker
    this.setData({
      polyline:[{
        points:[
          {
            longitude:this.data.longitude,
            latitude:this.data.latitude,
        },
        {
          longitude: currentMarker.longitude,
          latitude: currentMarker.latitude,
        }
      ],
        color:"#FF0000DD", // 连线颜色
        width: 1, // 连线宽度
        dottedLine: true // 虚线
      }],
    })
  },
  bindregionchange:function(e){
    console.log(e)
    console.log(this.data)
   // var mapCtx = wx.createMapContext('ofoMap'); // 地图组件的id
    if(e.type == "end"){
      this.mapCtx.getCenterLocation({
        success:(res) => {
          console.log(res)
          this.setData({
            _longitude : res.longitude,
            _latitude : res.latitude
          })
          wx.showLoading({
            title:"获取附近单车……",
            mask:true
          })
          setTimeout(() => {
            wx.hideLoading()
            this.getMarkersPosition(this.data._longitude,this.data._latitude);
          },800)
          
        }
      })
    }
  },
  getUserInfo: function(e) {
    console.log(e)
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  }
})
